Some areas of computational research such as real-time machine vision, speech recognition, real-time object tracking, etc., provide a complex challenge to an application designer. For example, in an object-tracking application the complexity of the system increases due to the random nature of the captured image data. For example, using machine vision to track a live person in a given environment would require complex processing of captured image data concerning the person and the environment around such person. Hence, researchers have applied probabilistic and numerical techniques to deal with complex systems with stochastic nature in the field of system dynamics and measurements.
Dynamic system tracking applications typically use estimations for determining changes in the dynamic system states over time. Dynamic states are generally modeled using discrete time approach where measurements are made available at discrete time intervals. Typically, two models—a system model, which evaluates the evolution of the system states over time and a measurement model that links noisy measurements to states—are required.
It is possible to apply several state estimation techniques using the dynamic and measurements model. One such estimation technique uses a Bayesian approach. Typical statistical methods include Kalman-Bucy filtering and Particle filtering. Kalman-Bucy filtering provides minimum-mean-squared-error state estimations only for linear stochastic systems with Gaussian initial condition on the state and Gaussian noise, For nonlinear stochastic systems or stochastic systems involving non-Gaussian random variables, particle filtering provides a numerical solution to the state estimation over time. Particle filtering is described next.
Using importance sampling, particle filtering tracks the evolution of state variable with respect to time by probability density functions (PDF) with a set of weighted samples. Several variables may be of interest in a given application. For example, in an object tracking machine vision application, the variables of interest could be the object's position, the temperature, velocity, shape, etc. For each variable, samples in the state spaces are considered to be particles, where each of them has a weight that signifies its probability. Particle filtering is used to estimate the states of such variables by recursively applying predictions and updates to the particle set.
While conventional particle filtering has become a popular technique for dynamic tracking applications, it has several drawbacks. Real-world applications typically involve nonlinear stochastic systems with a high-dimensional state space. However, particle filtering technique becomes inefficient and impractical when the dimension of the state space is high, where an inhibitively large number of samples need to be tracked. Efficient sampling in high-dimensional space is very difficult. Sample degeneracy and sample impoverishment are common issues associated with particle filtering. Hence, there is a need for a technique that provides better filtering performance by avoiding problems associated with particle filtering.